package com.baishancloud.log

import org.apache.flink.api.java.utils.ParameterTool

/**
 *
 * @author ziqiang.wang
 * @date 2022/2/15 10:46
 */
package object foglog {

  /**
   * 窗口大小，默认1分钟，单位：分钟
   */
  val windowSize: String = "windowSize"

  /**
   * 写出到StarRocks的并行度设置，默认为1
   */
  val sinkParallel: String = "sinkParallel"
  /**
   * 需要那些域名，使用引文逗号分隔，中间不要添加空格
   */
  val filterDomains: String = "filterDomains"
  /**
   * 说明：由于头条日志的域名切量，所以要在金华地区起一个任务，然后在石家庄地区起一个任务。<br>
   * 金华地区消费所有数据，但是要指定被切换的域名的消费最大时间，以保证消费数据的准确性。<br>
   * 石家庄地区消费指定域名数据，但是要指定被切换域名的消费最小时间，以保证消费数据的准确性。<br>
   * 需要根据消费终止或开始时间进行过滤的域名列表，中间使用英文逗号隔开。
   */
  val secondFilterDomains: String = "secondFilterDomains"
  /**
   * 过滤的终止或开始时间，如果是金华任务，则为终止时间，如果为石家庄任务，则为开始时间。
   */
  val filterSecond: String = "filterSecond"

  /**
   * 检查是否缺少必要参数。
   */
  def paramCheck(parameterTool: ParameterTool): Boolean = {
    if (parameterTool.has(secondFilterDomains) && parameterTool.has(filterSecond)) {
      true
    } else {
      println(s"缺少必要参数：${secondFilterDomains} 或 ${filterSecond}")
      false
    }
  }

}
